home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / System / XFD / Developer / Sources / ASM / ShellScript.a < prev    next >
Encoding:
Text File  |  2001-09-16  |  1.5 KB  |  81 lines

  1. * Programmheader
  2. *
  3. *    Name:        ShellScript
  4. *    Author:        SDI
  5. *    Distribution:    PD
  6. *    Description:    XFD external decruncher for Startup-Coder II
  7. *    Compileropts:    -
  8. *    Linkeropts:    -
  9. *
  10. * 1.0   11.02.01 : first version
  11.  
  12.         INCLUDE    "AINCLUDE:IncDirs.i"
  13.         INCLUDE    "libraries/xfdmaster.i"
  14.         INCLUDE    "exec/memory.i"
  15.  
  16.         * head function for tests
  17. *        INCLUDE    "xfdExeHead.a"
  18.  
  19. ForeMan        MOVEQ    #-1,D0        ;security
  20.         RTS
  21.  
  22.         DC.L    XFDF_ID
  23.         DC.W    1,0
  24.         DC.L    0,0,S_ShellScript
  25.  
  26.         DC.B    "$VER: ShellScript 1.0 (11.02.2001) by SDI",0
  27. N_ShellScript    DC.B    'ShellScript Exe',0
  28.         EVEN
  29.  
  30. S_ShellScript    DC.L    0        ;next slave
  31.         DC.W    2        ;version
  32.         DC.W    39        ;master version
  33.         DC.L    N_ShellScript    ;name
  34.         DC.W    XFDPFF_DATA|XFDPFF_USERTARGET|XFDPFF_RECOGLEN
  35.         DC.W    0
  36.         DC.L    RB_ShellScript    ;recog buffer
  37.         DC.L    DB_ShellScript    ;decrunch buffer
  38.         DC.L    0
  39.         DC.L    0
  40.         DC.W    0,0
  41.         DC.L    $4B8        ;MinBufSize
  42.  
  43. RB_ShellScript    MOVEQ    #0,D0            ; False
  44.  
  45.         CMP.L    #$000003F3,(A0)
  46.         BNE.B    .No
  47.         CMP.L    #$4EF90000,$24(A0)
  48.         BNE.B    .No
  49.         CMP.L    #$247C0000,$50(A0)
  50.         BNE.B    .No
  51.         CMP.L    #$04B8303C,$54(A0)
  52.         BNE.B    .No
  53.         CMP.L    #$03FF1831,$58(A0)
  54.         BNE.B    .No
  55.         LEA    $B2(A0),A0
  56.         MOVEQ    #0,D0
  57. .loop        CMPI.B    #$80,(A0)+
  58.         BEQ.B    .ok
  59.         ADDQ.L    #1,D0
  60.         BRA.B    .loop
  61. .ok        MOVE.L    D0,xfdrr_FinalTargetLen(A1)
  62.         MOVE.L    D0,xfdrr_MinTargetLen(A1)
  63.         MOVEQ    #1,D0
  64. .No        RTS
  65.  
  66.  
  67. DB_ShellScript    MOVE.L    xfdbi_SourceBuffer(A0),A1
  68.         LEA    $B2(A1),A1
  69.         MOVE.L    xfdbi_TargetBufSaveLen(A0),D0
  70.         MOVE.L    xfdbi_UserTargetBuf(A0),A0
  71.         SUBQ.W    #1,D0
  72. .loop        MOVE.B    (A1)+,D1
  73.         SUBI.B    #$80,D1
  74.         MOVE.B    D1,(A0)+
  75.         DBRA.B    D0,.loop
  76.         MOVEQ    #1,D0
  77.         RTS
  78.  
  79.  
  80.         END
  81.